package net.cloudsun.graph.puzzle.group;

import net.cloudsun.graph.group.FiniteGroup;
import net.cloudsun.graph.puzzle.JigsawState;
import net.cloudsun.graph.puzzle.Pair;
import net.cloudsun.graph.puzzle.relation.ClockwiseRotate;

import java.util.function.Function;

/**
 * 顺时针旋转子群
 * created at 23/11/2021
 *
 * @author 俞建波
 * <a href="mailto://yujianbo@chtwm.com">yujianbo@chtwm.com</a>
 * @since 1.1.0
 */
public class PuzzleRotateGroup extends FiniteGroup<JigsawState> {
    public PuzzleRotateGroup() {
        final Pair<Function<JigsawState, JigsawState>> pair = new Pair<>();
        pair.setA(ClockwiseRotate.INSTANCE);
        pair.setB(ClockwiseRotate.INSTANCE);
        setOperators(pair);
    }
}
